home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 26
/
Cream of the Crop 26.iso
/
os2
/
pvm34b3.zip
/
pvm34b3
/
pvm3
/
libfpvm
/
pvmfconfig.m4
< prev
next >
Wrap
Text File
|
1997-07-22
|
1KB
|
63 lines
/* $Id: pvmfconfig.m4,v 1.4 1997/05/07 18:07:30 pvmsrc Exp $ */
#include "pvm3.h"
#include "pvm_consts.h"
#include "../src/bfunc.h"
void
FUNCTION(pvmfconfig)
ARGS(`nhostp,
narchp,
tidp,
STRING_ARG(name),
STRING_ARG(arch),
speedp,
infop')
int *nhostp, *narchp, *tidp, *speedp, *infop;
STRING_ARG_DECL(name);
STRING_ARG_DECL(arch);
{
static struct pvmhostinfo *hip = 0;
static int nhost = 0;
static int narch = 0;
static int next = 0;
int nh;
int cc;
/* if user sets nhostp to -1 then pvmfconfig() will be reset */
if ( nhost && nhostp && (*nhostp == -1) )
nhost = 0;
if ( !nhost ) {
if ( (cc = pvm_config( &nh, &narch, &hip )) < 0 ) {
*infop = cc;
return;
}
nhost = nh;
next = 0;
}
if ( next < nhost ) {
if ( nhostp ) *nhostp = nhost;
if ( narchp ) *narchp = narch;
if ( tidp ) *tidp = hip[ next ].hi_tid;
if ( STRING_PTR(name) )
ctofstr( STRING_PTR(name), STRING_LEN(name),
hip[ next ].hi_name );
if ( STRING_PTR(arch) )
ctofstr( STRING_PTR(arch), STRING_LEN(arch),
hip[ next ].hi_arch );
if ( speedp ) *speedp = hip[ next ].hi_speed;
*infop = 1;
next++;
}
if ( next == nhost )
nhost = 0;
}